#pragma once

#include "DisplayManager.h"
#include "InputHandler.h"

class GUIButton
{
	public:
		GUIButton();
		~GUIButton();

		void Initialize(std::string pText, sf::Vector2f pPos, sf::Font pFont);
		void Update();
		void Cleanup();

		/*std::string GetName();*/
		sf::Color GetNormColor();
		sf::Color GetHoveColor();

		bool MouseOver(sf::Vector2i pMousePos);
		bool IsPressed(sf::Vector2i pMousePos);

		void SetTextColor(sf::Color pColor);
		void SetBoxColor(sf::Color pColor);
		void SetOutlineColor(sf::Color pColor);

	protected:
		DisplayManager* m_xDisplayManager;
		InputHandler* m_xInput;
		
		/*std::string m_sName;*/
		sf::Font m_xFont;
		sf::Text* m_tText;
		sf::RectangleShape* m_xShape;

		sf::Vector2f m_vSize;
		sf::Vector2f m_vPos;

		sf::Color m_cNormalColor;
		sf::Color m_cHoverColor;
};

